package com.ruoyi.training.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 实践预约对象 practice_appointment
 *
 * @author WorrilessGo
 * @date 2025-10-14
 */
public class PracticeAppointment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 实践预约id */
    private String practiceAppointmentId;

    /** 实践预约名称 */
    @Excel(name = "实践预约名称")
    private String practiceAppointmentName;

    /** 实践项目id */
    @Excel(name = "实践项目id")
    private String practicalProjectId;

    /** 实践地址 */
    @Excel(name = "实践地址")
    private String practiceAddress;

    /** 实践开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实践开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date practiceStartTime;

    /** 实践结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实践结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date practiceEndTime;

    /** 实践培训内容 */
    @Excel(name = "实践培训内容")
    private String practicalTrainingContent;

    /** 实践教师id */
    @Excel(name = "实践教师id")
    private String practicalTeacherId;

    /** 限制人数 */
    @Excel(name = "限制人数")
    private Integer restrictionNum;

    /** 报名人数 */
    @Excel(name = "报名人数")
    private Integer registrationNum;

    /** 实践状态(0-未实践，1-已实践) */
    @Excel(name = "实践状态(0-未实践，1-已实践)")
    private String practicalType;

    /** 预约状态(0-未报满,1-已报满) */
    @Excel(name = "预约状态(0-未报满,1-已报满)")
    private String appointmentType;

    /** 删除标志（0代表存在 2代表删除） */
    @Excel(name = "删除标志", readConverterExp = "0=代表存在,2=代表删除")
    private String delTag;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    public void setPracticeAppointmentId(String practiceAppointmentId)
    {
        this.practiceAppointmentId = practiceAppointmentId;
    }

    public String getPracticeAppointmentId()
    {
        return practiceAppointmentId;
    }

    public void setPracticeAppointmentName(String practiceAppointmentName)
    {
        this.practiceAppointmentName = practiceAppointmentName;
    }

    public String getPracticeAppointmentName()
    {
        return practiceAppointmentName;
    }

    public void setPracticalProjectId(String practicalProjectId)
    {
        this.practicalProjectId = practicalProjectId;
    }

    public String getPracticalProjectId()
    {
        return practicalProjectId;
    }

    public void setPracticeAddress(String practiceAddress)
    {
        this.practiceAddress = practiceAddress;
    }

    public String getPracticeAddress()
    {
        return practiceAddress;
    }

    public void setPracticeStartTime(Date practiceStartTime)
    {
        this.practiceStartTime = practiceStartTime;
    }

    public Date getPracticeStartTime()
    {
        return practiceStartTime;
    }

    public void setPracticeEndTime(Date practiceEndTime)
    {
        this.practiceEndTime = practiceEndTime;
    }

    public Date getPracticeEndTime()
    {
        return practiceEndTime;
    }

    public void setPracticalTrainingContent(String practicalTrainingContent)
    {
        this.practicalTrainingContent = practicalTrainingContent;
    }

    public String getPracticalTrainingContent()
    {
        return practicalTrainingContent;
    }

    public void setPracticalTeacherId(String practicalTeacherId)
    {
        this.practicalTeacherId = practicalTeacherId;
    }

    public String getPracticalTeacherId()
    {
        return practicalTeacherId;
    }

    public void setRestrictionNum(Integer restrictionNum)
    {
        this.restrictionNum = restrictionNum;
    }

    public Integer getRestrictionNum()
    {
        return restrictionNum;
    }

    public void setRegistrationNum(Integer registrationNum)
    {
        this.registrationNum = registrationNum;
    }

    public Integer getRegistrationNum()
    {
        return registrationNum;
    }

    public void setPracticalType(String practicalType)
    {
        this.practicalType = practicalType;
    }

    public String getPracticalType()
    {
        return practicalType;
    }

    public void setDelTag(String delTag)
    {
        this.delTag = delTag;
    }

    public String getDelTag()
    {
        return delTag;
    }

    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }

    public String getAppointmentType() {
        return appointmentType;
    }

    public void setAppointmentType(String appointmentType) {
        this.appointmentType = appointmentType;
    }

    @Override
    public String toString() {
        return "PracticeAppointment{" +
                "practiceAppointmentId='" + practiceAppointmentId + '\'' +
                ", practiceAppointmentName='" + practiceAppointmentName + '\'' +
                ", practicalProjectId='" + practicalProjectId + '\'' +
                ", practiceAddress='" + practiceAddress + '\'' +
                ", practiceStartTime=" + practiceStartTime +
                ", practiceEndTime=" + practiceEndTime +
                ", practicalTrainingContent='" + practicalTrainingContent + '\'' +
                ", practicalTeacherId='" + practicalTeacherId + '\'' +
                ", restrictionNum=" + restrictionNum +
                ", registrationNum=" + registrationNum +
                ", practicalType='" + practicalType + '\'' +
                ", appointmentType='" + appointmentType + '\'' +
                ", delTag='" + delTag + '\'' +
                ", remarks='" + remarks + '\'' +
                '}';
    }
}
